package com.buwstudio.domain;

import org.springframework.data.domain.AbstractAggregateRoot;

import com.fasterxml.jackson.annotation.JsonIgnore;

public abstract class AbstractDomain extends AbstractAggregateRoot{

	/**
	 * 
	 * 描述:<br>
	 * 在子类中返回对应业务场景中的业务标识，在此业务场景中的唯一标识<br>
	 * 逻辑标识可以为UUID，或有业务意义的字段(比如身份证号、行别号、机构代码等)，即业务标识<br>
	 */
	@JsonIgnore
	public abstract String getBid();
	
	/**
	 * 
	 * Description:
	 * 实现整个实体的一个合法性验证，比如一辆小汽车实体包含4条轮胎、1个方向盘等规则
	 * @author 卜 伟<br>
	 * Last Modified: <br>
	 * 2017年7月14日 下午2:52:25
	 */
	@JsonIgnore
	public abstract void isValid();
	
}
